/**
 * 回调函数中的可选参数
 * 注意：当你为回调函数写一个函数类型的时候，永远不要写一个可选参数，除非你打算在不传递该参数的情况下调用函数
 * */

function myForEach(arr: any[], callback: (args: any, index: number) => void) {
  for (let i = 0; i < arr.length; i++) {
    // callback(arr[i], i)
    callback(arr[i], i)
  }
}

// myForEach([1, 2, 3], (a) => console.log(a))
// myForEach([1, 2, 3], (a, i) => console.log(a, i))

myForEach([1, 2, 3], (a, i) => {
  console.log(i.toFixed())
})
